package com.cskaoyan.javase.oop2._1extends._8hidden;

/**
 * 注意事项:
 * 注意事项：
 * 1. 父子类中的同名成员变量它们各自有存储的区域，父类的同名成员变量被子类同名成员变量隐藏了，称之为"属性的隐藏"。
 *    但我们仍然可以通过父类中的Getter方法，或者通过super去访问到父类中同名成员变量，当然它们都受访问权限限制。
 *    对象名点成员变量,它的访问范围和访问结果只用看引用的数据类型即可.
 *
 * @since 15:58
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        // Cat c = new Cat(3, "旺财", 1000);
        Animal c = new Cat();
        System.out.println(c.age);
        System.out.println(c.name);
        // System.out.println(c.price);
    }
}

class Animal {
    {
        age = 10;
    }

    int age = 3;
    String name = "大黄";

    {
        name = "大白";
    }


    public Animal() {
    }

    public Animal(int age) {
        this.age = age;
    }

    public Animal(int age, String name) {
        this.age = age;
        this.name = name;
    }
}

class Cat extends Animal {
    double price;

    public Cat(double price) {
        this.price = price;
    }

    public Cat(int age, double price) {
        super(age);
        this.price = price;
    }

    public Cat(int age, String name, double price) {
        super(age, name);
        this.price = price;
    }

    public Cat() {
    }
}